<html>

<head>
    <style>
        body {
            margin: 0px;
            font-size: 16px;
            font-family: "RobotoDraft", Helvetica, Arial, sans-serif;
            font-weight: 300;
            line-height: 24px;
            background-color: #f4f4f4;
        }
        .paper {
            box-shadow: 0px 0px 10px 1px rgba(0, 0, 0, 0.75);
        }
        .header {
            width: 100%;
            background-color: #3e50b4;
            height: 110px;
            position: fixed;
            top: 0;
            color: #fff;
            padding-left: 3%;
            z-index: 20;
        }
        .headerStudentInfo {
            font-size: 15px;
            margin-top: 1px;
            font-weight: 300;
        }
        .headerNotes {
            position: absolute;
            top: 5px;
            right: 8%;
            text-align: right;
        }
        .headerTitle {
            font-size: 28px;
            margin-top: 55px;
            font-weight: bold;
        }
        .examNotes {
            background-color: #334293;
            top: 85px;
            position: relative;
            z-index: -2;
            min-height: 230px;
            padding-left: 3%;
            padding-right: 3%;
            padding-bottom: 25px;
            padding-top: 10px;
            width: 94%;
            color: #fff;
        }
        .examContainer {
            position: relative;
            width: 94%;
            margin: 0px auto;
            z-index: 10;
            top: -20px;
            margin-bottom: 3%;
            background-color: white;
        }
        .center {
            margin: 0px auto;
            text-align: center;
        }
        .data {
            display: inline-block;
            width: 100%;
            word-wrap: break-word;
        }
        .hidden {
            display: none;
        }
        .headerHighlight {
            color: #ff0;
            font-weight: 600;
        }
        #finishButton {
            position: fixed;
            right: 5%;
            top: 68px;
        }
        .question {
            width: 100%;
        }
        .questionText {
            width: 100%;
            color: black;
            font-weight: 600;
            min-height: 80px;
            padding: 43px 0px 0px 32px;
        }
        .loginForms {
            width: 100%;
            color: black;
            font-weight: 600;
            padding: 15px 0px 0px 0px;
        }
        .answer {
            width: 100%;
            padding: 0px 0px 10px 32px;
        }
        .textBox {
            width: 93%;
        }
        .zhaw {
            font-weight: 600;
            font-size: 18px;
            padding-right: 135px;
        }
        #autoSaveInfo {
            position: absolute;
            top: 35px;
            font-size: 13px;
            right: 8%;
        }
        
        #nextQuestion {
            position: absolute;
            top: 10px;
            right: 10px;
        }
        
        #prevQuestion {
            position: absolute;
            top: 10px;
            left: 10px;
        }
    </style>
    // libs
    <script>
        /*
        CryptoJS v3.1.2
        code.google.com/p/crypto-js AES
        (c) 2009-2013 by Jeff Mott. All rights reserved.
        code.google.com/p/crypto-js/wiki/License
        */
        var CryptoJS=CryptoJS||function(u,p){var d={},l=d.lib={},s=function(){},t=l.Base={extend:function(a){s.prototype=this;var c=new s;a&&c.mixIn(a);c.hasOwnProperty("init")||(c.init=function(){c.$super.init.apply(this,arguments)});c.init.prototype=c;c.$super=this;return c},create:function(){var a=this.extend();a.init.apply(a,arguments);return a},init:function(){},mixIn:function(a){for(var c in a)a.hasOwnProperty(c)&&(this[c]=a[c]);a.hasOwnProperty("toString")&&(this.toString=a.toString)},clone:function(){return this.init.prototype.extend(this)}},
            r=l.WordArray=t.extend({init:function(a,c){a=this.words=a||[];this.sigBytes=c!=p?c:4*a.length},toString:function(a){return(a||v).stringify(this)},concat:function(a){var c=this.words,e=a.words,j=this.sigBytes;a=a.sigBytes;this.clamp();if(j%4)for(var k=0;k<a;k++)c[j+k>>>2]|=(e[k>>>2]>>>24-8*(k%4)&255)<<24-8*((j+k)%4);else if(65535<e.length)for(k=0;k<a;k+=4)c[j+k>>>2]=e[k>>>2];else c.push.apply(c,e);this.sigBytes+=a;return this},clamp:function(){var a=this.words,c=this.sigBytes;a[c>>>2]&=4294967295<<
                32-8*(c%4);a.length=u.ceil(c/4)},clone:function(){var a=t.clone.call(this);a.words=this.words.slice(0);return a},random:function(a){for(var c=[],e=0;e<a;e+=4)c.push(4294967296*u.random()|0);return new r.init(c,a)}}),w=d.enc={},v=w.Hex={stringify:function(a){var c=a.words;a=a.sigBytes;for(var e=[],j=0;j<a;j++){var k=c[j>>>2]>>>24-8*(j%4)&255;e.push((k>>>4).toString(16));e.push((k&15).toString(16))}return e.join("")},parse:function(a){for(var c=a.length,e=[],j=0;j<c;j+=2)e[j>>>3]|=parseInt(a.substr(j,
        2),16)<<24-4*(j%8);return new r.init(e,c/2)}},b=w.Latin1={stringify:function(a){var c=a.words;a=a.sigBytes;for(var e=[],j=0;j<a;j++)e.push(String.fromCharCode(c[j>>>2]>>>24-8*(j%4)&255));return e.join("")},parse:function(a){for(var c=a.length,e=[],j=0;j<c;j++)e[j>>>2]|=(a.charCodeAt(j)&255)<<24-8*(j%4);return new r.init(e,c)}},x=w.Utf8={stringify:function(a){try{return decodeURIComponent(escape(b.stringify(a)))}catch(c){throw Error("Malformed UTF-8 data");}},parse:function(a){return b.parse(unescape(encodeURIComponent(a)))}},
            q=l.BufferedBlockAlgorithm=t.extend({reset:function(){this._data=new r.init;this._nDataBytes=0},_append:function(a){"string"==typeof a&&(a=x.parse(a));this._data.concat(a);this._nDataBytes+=a.sigBytes},_process:function(a){var c=this._data,e=c.words,j=c.sigBytes,k=this.blockSize,b=j/(4*k),b=a?u.ceil(b):u.max((b|0)-this._minBufferSize,0);a=b*k;j=u.min(4*a,j);if(a){for(var q=0;q<a;q+=k)this._doProcessBlock(e,q);q=e.splice(0,a);c.sigBytes-=j}return new r.init(q,j)},clone:function(){var a=t.clone.call(this);
        a._data=this._data.clone();return a},_minBufferSize:0});l.Hasher=q.extend({cfg:t.extend(),init:function(a){this.cfg=this.cfg.extend(a);this.reset()},reset:function(){q.reset.call(this);this._doReset()},update:function(a){this._append(a);this._process();return this},finalize:function(a){a&&this._append(a);return this._doFinalize()},blockSize:16,_createHelper:function(a){return function(b,e){return(new a.init(e)).finalize(b)}},_createHmacHelper:function(a){return function(b,e){return(new n.HMAC.init(a,
        e)).finalize(b)}}});var n=d.algo={};return d}(Math);
        (function(){var u=CryptoJS,p=u.lib.WordArray;u.enc.Base64={stringify:function(d){var l=d.words,p=d.sigBytes,t=this._map;d.clamp();d=[];for(var r=0;r<p;r+=3)for(var w=(l[r>>>2]>>>24-8*(r%4)&255)<<16|(l[r+1>>>2]>>>24-8*((r+1)%4)&255)<<8|l[r+2>>>2]>>>24-8*((r+2)%4)&255,v=0;4>v&&r+0.75*v<p;v++)d.push(t.charAt(w>>>6*(3-v)&63));if(l=t.charAt(64))for(;d.length%4;)d.push(l);return d.join("")},parse:function(d){var l=d.length,s=this._map,t=s.charAt(64);t&&(t=d.indexOf(t),-1!=t&&(l=t));for(var t=[],r=0,w=0;w<
        l;w++)if(w%4){var v=s.indexOf(d.charAt(w-1))<<2*(w%4),b=s.indexOf(d.charAt(w))>>>6-2*(w%4);t[r>>>2]|=(v|b)<<24-8*(r%4);r++}return p.create(t,r)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="}})();
        (function(u){function p(b,n,a,c,e,j,k){b=b+(n&a|~n&c)+e+k;return(b<<j|b>>>32-j)+n}function d(b,n,a,c,e,j,k){b=b+(n&c|a&~c)+e+k;return(b<<j|b>>>32-j)+n}function l(b,n,a,c,e,j,k){b=b+(n^a^c)+e+k;return(b<<j|b>>>32-j)+n}function s(b,n,a,c,e,j,k){b=b+(a^(n|~c))+e+k;return(b<<j|b>>>32-j)+n}for(var t=CryptoJS,r=t.lib,w=r.WordArray,v=r.Hasher,r=t.algo,b=[],x=0;64>x;x++)b[x]=4294967296*u.abs(u.sin(x+1))|0;r=r.MD5=v.extend({_doReset:function(){this._hash=new w.init([1732584193,4023233417,2562383102,271733878])},
        _doProcessBlock:function(q,n){for(var a=0;16>a;a++){var c=n+a,e=q[c];q[c]=(e<<8|e>>>24)&16711935|(e<<24|e>>>8)&4278255360}var a=this._hash.words,c=q[n+0],e=q[n+1],j=q[n+2],k=q[n+3],z=q[n+4],r=q[n+5],t=q[n+6],w=q[n+7],v=q[n+8],A=q[n+9],B=q[n+10],C=q[n+11],u=q[n+12],D=q[n+13],E=q[n+14],x=q[n+15],f=a[0],m=a[1],g=a[2],h=a[3],f=p(f,m,g,h,c,7,b[0]),h=p(h,f,m,g,e,12,b[1]),g=p(g,h,f,m,j,17,b[2]),m=p(m,g,h,f,k,22,b[3]),f=p(f,m,g,h,z,7,b[4]),h=p(h,f,m,g,r,12,b[5]),g=p(g,h,f,m,t,17,b[6]),m=p(m,g,h,f,w,22,b[7]),
            f=p(f,m,g,h,v,7,b[8]),h=p(h,f,m,g,A,12,b[9]),g=p(g,h,f,m,B,17,b[10]),m=p(m,g,h,f,C,22,b[11]),f=p(f,m,g,h,u,7,b[12]),h=p(h,f,m,g,D,12,b[13]),g=p(g,h,f,m,E,17,b[14]),m=p(m,g,h,f,x,22,b[15]),f=d(f,m,g,h,e,5,b[16]),h=d(h,f,m,g,t,9,b[17]),g=d(g,h,f,m,C,14,b[18]),m=d(m,g,h,f,c,20,b[19]),f=d(f,m,g,h,r,5,b[20]),h=d(h,f,m,g,B,9,b[21]),g=d(g,h,f,m,x,14,b[22]),m=d(m,g,h,f,z,20,b[23]),f=d(f,m,g,h,A,5,b[24]),h=d(h,f,m,g,E,9,b[25]),g=d(g,h,f,m,k,14,b[26]),m=d(m,g,h,f,v,20,b[27]),f=d(f,m,g,h,D,5,b[28]),h=d(h,f,
        m,g,j,9,b[29]),g=d(g,h,f,m,w,14,b[30]),m=d(m,g,h,f,u,20,b[31]),f=l(f,m,g,h,r,4,b[32]),h=l(h,f,m,g,v,11,b[33]),g=l(g,h,f,m,C,16,b[34]),m=l(m,g,h,f,E,23,b[35]),f=l(f,m,g,h,e,4,b[36]),h=l(h,f,m,g,z,11,b[37]),g=l(g,h,f,m,w,16,b[38]),m=l(m,g,h,f,B,23,b[39]),f=l(f,m,g,h,D,4,b[40]),h=l(h,f,m,g,c,11,b[41]),g=l(g,h,f,m,k,16,b[42]),m=l(m,g,h,f,t,23,b[43]),f=l(f,m,g,h,A,4,b[44]),h=l(h,f,m,g,u,11,b[45]),g=l(g,h,f,m,x,16,b[46]),m=l(m,g,h,f,j,23,b[47]),f=s(f,m,g,h,c,6,b[48]),h=s(h,f,m,g,w,10,b[49]),g=s(g,h,f,m,
        E,15,b[50]),m=s(m,g,h,f,r,21,b[51]),f=s(f,m,g,h,u,6,b[52]),h=s(h,f,m,g,k,10,b[53]),g=s(g,h,f,m,B,15,b[54]),m=s(m,g,h,f,e,21,b[55]),f=s(f,m,g,h,v,6,b[56]),h=s(h,f,m,g,x,10,b[57]),g=s(g,h,f,m,t,15,b[58]),m=s(m,g,h,f,D,21,b[59]),f=s(f,m,g,h,z,6,b[60]),h=s(h,f,m,g,C,10,b[61]),g=s(g,h,f,m,j,15,b[62]),m=s(m,g,h,f,A,21,b[63]);a[0]=a[0]+f|0;a[1]=a[1]+m|0;a[2]=a[2]+g|0;a[3]=a[3]+h|0},_doFinalize:function(){var b=this._data,n=b.words,a=8*this._nDataBytes,c=8*b.sigBytes;n[c>>>5]|=128<<24-c%32;var e=u.floor(a/
        4294967296);n[(c+64>>>9<<4)+15]=(e<<8|e>>>24)&16711935|(e<<24|e>>>8)&4278255360;n[(c+64>>>9<<4)+14]=(a<<8|a>>>24)&16711935|(a<<24|a>>>8)&4278255360;b.sigBytes=4*(n.length+1);this._process();b=this._hash;n=b.words;for(a=0;4>a;a++)c=n[a],n[a]=(c<<8|c>>>24)&16711935|(c<<24|c>>>8)&4278255360;return b},clone:function(){var b=v.clone.call(this);b._hash=this._hash.clone();return b}});t.MD5=v._createHelper(r);t.HmacMD5=v._createHmacHelper(r)})(Math);
        (function(){var u=CryptoJS,p=u.lib,d=p.Base,l=p.WordArray,p=u.algo,s=p.EvpKDF=d.extend({cfg:d.extend({keySize:4,hasher:p.MD5,iterations:1}),init:function(d){this.cfg=this.cfg.extend(d)},compute:function(d,r){for(var p=this.cfg,s=p.hasher.create(),b=l.create(),u=b.words,q=p.keySize,p=p.iterations;u.length<q;){n&&s.update(n);var n=s.update(d).finalize(r);s.reset();for(var a=1;a<p;a++)n=s.finalize(n),s.reset();b.concat(n)}b.sigBytes=4*q;return b}});u.EvpKDF=function(d,l,p){return s.create(p).compute(d,
        l)}})();
        CryptoJS.lib.Cipher||function(u){var p=CryptoJS,d=p.lib,l=d.Base,s=d.WordArray,t=d.BufferedBlockAlgorithm,r=p.enc.Base64,w=p.algo.EvpKDF,v=d.Cipher=t.extend({cfg:l.extend(),createEncryptor:function(e,a){return this.create(this._ENC_XFORM_MODE,e,a)},createDecryptor:function(e,a){return this.create(this._DEC_XFORM_MODE,e,a)},init:function(e,a,b){this.cfg=this.cfg.extend(b);this._xformMode=e;this._key=a;this.reset()},reset:function(){t.reset.call(this);this._doReset()},process:function(e){this._append(e);return this._process()},
        finalize:function(e){e&&this._append(e);return this._doFinalize()},keySize:4,ivSize:4,_ENC_XFORM_MODE:1,_DEC_XFORM_MODE:2,_createHelper:function(e){return{encrypt:function(b,k,d){return("string"==typeof k?c:a).encrypt(e,b,k,d)},decrypt:function(b,k,d){return("string"==typeof k?c:a).decrypt(e,b,k,d)}}}});d.StreamCipher=v.extend({_doFinalize:function(){return this._process(!0)},blockSize:1});var b=p.mode={},x=function(e,a,b){var c=this._iv;c?this._iv=u:c=this._prevBlock;for(var d=0;d<b;d++)e[a+d]^=
            c[d]},q=(d.BlockCipherMode=l.extend({createEncryptor:function(e,a){return this.Encryptor.create(e,a)},createDecryptor:function(e,a){return this.Decryptor.create(e,a)},init:function(e,a){this._cipher=e;this._iv=a}})).extend();q.Encryptor=q.extend({processBlock:function(e,a){var b=this._cipher,c=b.blockSize;x.call(this,e,a,c);b.encryptBlock(e,a);this._prevBlock=e.slice(a,a+c)}});q.Decryptor=q.extend({processBlock:function(e,a){var b=this._cipher,c=b.blockSize,d=e.slice(a,a+c);b.decryptBlock(e,a);x.call(this,
        e,a,c);this._prevBlock=d}});b=b.CBC=q;q=(p.pad={}).Pkcs7={pad:function(a,b){for(var c=4*b,c=c-a.sigBytes%c,d=c<<24|c<<16|c<<8|c,l=[],n=0;n<c;n+=4)l.push(d);c=s.create(l,c);a.concat(c)},unpad:function(a){a.sigBytes-=a.words[a.sigBytes-1>>>2]&255}};d.BlockCipher=v.extend({cfg:v.cfg.extend({mode:b,padding:q}),reset:function(){v.reset.call(this);var a=this.cfg,b=a.iv,a=a.mode;if(this._xformMode==this._ENC_XFORM_MODE)var c=a.createEncryptor;else c=a.createDecryptor,this._minBufferSize=1;this._mode=c.call(a,
        this,b&&b.words)},_doProcessBlock:function(a,b){this._mode.processBlock(a,b)},_doFinalize:function(){var a=this.cfg.padding;if(this._xformMode==this._ENC_XFORM_MODE){a.pad(this._data,this.blockSize);var b=this._process(!0)}else b=this._process(!0),a.unpad(b);return b},blockSize:4});var n=d.CipherParams=l.extend({init:function(a){this.mixIn(a)},toString:function(a){return(a||this.formatter).stringify(this)}}),b=(p.format={}).OpenSSL={stringify:function(a){var b=a.ciphertext;a=a.salt;return(a?s.create([1398893684,
        1701076831]).concat(a).concat(b):b).toString(r)},parse:function(a){a=r.parse(a);var b=a.words;if(1398893684==b[0]&&1701076831==b[1]){var c=s.create(b.slice(2,4));b.splice(0,4);a.sigBytes-=16}return n.create({ciphertext:a,salt:c})}},a=d.SerializableCipher=l.extend({cfg:l.extend({format:b}),encrypt:function(a,b,c,d){d=this.cfg.extend(d);var l=a.createEncryptor(c,d);b=l.finalize(b);l=l.cfg;return n.create({ciphertext:b,key:c,iv:l.iv,algorithm:a,mode:l.mode,padding:l.padding,blockSize:a.blockSize,formatter:d.format})},
        decrypt:function(a,b,c,d){d=this.cfg.extend(d);b=this._parse(b,d.format);return a.createDecryptor(c,d).finalize(b.ciphertext)},_parse:function(a,b){return"string"==typeof a?b.parse(a,this):a}}),p=(p.kdf={}).OpenSSL={execute:function(a,b,c,d){d||(d=s.random(8));a=w.create({keySize:b+c}).compute(a,d);c=s.create(a.words.slice(b),4*c);a.sigBytes=4*b;return n.create({key:a,iv:c,salt:d})}},c=d.PasswordBasedCipher=a.extend({cfg:a.cfg.extend({kdf:p}),encrypt:function(b,c,d,l){l=this.cfg.extend(l);d=l.kdf.execute(d,
        b.keySize,b.ivSize);l.iv=d.iv;b=a.encrypt.call(this,b,c,d.key,l);b.mixIn(d);return b},decrypt:function(b,c,d,l){l=this.cfg.extend(l);c=this._parse(c,l.format);d=l.kdf.execute(d,b.keySize,b.ivSize,c.salt);l.iv=d.iv;return a.decrypt.call(this,b,c,d.key,l)}})}();
        (function(){for(var u=CryptoJS,p=u.lib.BlockCipher,d=u.algo,l=[],s=[],t=[],r=[],w=[],v=[],b=[],x=[],q=[],n=[],a=[],c=0;256>c;c++)a[c]=128>c?c<<1:c<<1^283;for(var e=0,j=0,c=0;256>c;c++){var k=j^j<<1^j<<2^j<<3^j<<4,k=k>>>8^k&255^99;l[e]=k;s[k]=e;var z=a[e],F=a[z],G=a[F],y=257*a[k]^16843008*k;t[e]=y<<24|y>>>8;r[e]=y<<16|y>>>16;w[e]=y<<8|y>>>24;v[e]=y;y=16843009*G^65537*F^257*z^16843008*e;b[k]=y<<24|y>>>8;x[k]=y<<16|y>>>16;q[k]=y<<8|y>>>24;n[k]=y;e?(e=z^a[a[a[G^z]]],j^=a[a[j]]):e=j=1}var H=[0,1,2,4,8,
        16,32,64,128,27,54],d=d.AES=p.extend({_doReset:function(){for(var a=this._key,c=a.words,d=a.sigBytes/4,a=4*((this._nRounds=d+6)+1),e=this._keySchedule=[],j=0;j<a;j++)if(j<d)e[j]=c[j];else{var k=e[j-1];j%d?6<d&&4==j%d&&(k=l[k>>>24]<<24|l[k>>>16&255]<<16|l[k>>>8&255]<<8|l[k&255]):(k=k<<8|k>>>24,k=l[k>>>24]<<24|l[k>>>16&255]<<16|l[k>>>8&255]<<8|l[k&255],k^=H[j/d|0]<<24);e[j]=e[j-d]^k}c=this._invKeySchedule=[];for(d=0;d<a;d++)j=a-d,k=d%4?e[j]:e[j-4],c[d]=4>d||4>=j?k:b[l[k>>>24]]^x[l[k>>>16&255]]^q[l[k>>>
        8&255]]^n[l[k&255]]},encryptBlock:function(a,b){this._doCryptBlock(a,b,this._keySchedule,t,r,w,v,l)},decryptBlock:function(a,c){var d=a[c+1];a[c+1]=a[c+3];a[c+3]=d;this._doCryptBlock(a,c,this._invKeySchedule,b,x,q,n,s);d=a[c+1];a[c+1]=a[c+3];a[c+3]=d},_doCryptBlock:function(a,b,c,d,e,j,l,f){for(var m=this._nRounds,g=a[b]^c[0],h=a[b+1]^c[1],k=a[b+2]^c[2],n=a[b+3]^c[3],p=4,r=1;r<m;r++)var q=d[g>>>24]^e[h>>>16&255]^j[k>>>8&255]^l[n&255]^c[p++],s=d[h>>>24]^e[k>>>16&255]^j[n>>>8&255]^l[g&255]^c[p++],t=
            d[k>>>24]^e[n>>>16&255]^j[g>>>8&255]^l[h&255]^c[p++],n=d[n>>>24]^e[g>>>16&255]^j[h>>>8&255]^l[k&255]^c[p++],g=q,h=s,k=t;q=(f[g>>>24]<<24|f[h>>>16&255]<<16|f[k>>>8&255]<<8|f[n&255])^c[p++];s=(f[h>>>24]<<24|f[k>>>16&255]<<16|f[n>>>8&255]<<8|f[g&255])^c[p++];t=(f[k>>>24]<<24|f[n>>>16&255]<<16|f[g>>>8&255]<<8|f[h&255])^c[p++];n=(f[n>>>24]<<24|f[g>>>16&255]<<16|f[h>>>8&255]<<8|f[k&255])^c[p++];a[b]=q;a[b+1]=s;a[b+2]=t;a[b+3]=n},keySize:8});u.AES=p._createHelper(d)})();

        /*
        CryptoJS v3.1.2
        code.google.com/p/crypto-js SHA256
        (c) 2009-2013 by Jeff Mott. All rights reserved.
        code.google.com/p/crypto-js/wiki/License
        */
        var CryptoJS=CryptoJS||function(h,s){var f={},t=f.lib={},g=function(){},j=t.Base={extend:function(a){g.prototype=this;var c=new g;a&&c.mixIn(a);c.hasOwnProperty("init")||(c.init=function(){c.$super.init.apply(this,arguments)});c.init.prototype=c;c.$super=this;return c},create:function(){var a=this.extend();a.init.apply(a,arguments);return a},init:function(){},mixIn:function(a){for(var c in a)a.hasOwnProperty(c)&&(this[c]=a[c]);a.hasOwnProperty("toString")&&(this.toString=a.toString)},clone:function(){return this.init.prototype.extend(this)}},
            q=t.WordArray=j.extend({init:function(a,c){a=this.words=a||[];this.sigBytes=c!=s?c:4*a.length},toString:function(a){return(a||u).stringify(this)},concat:function(a){var c=this.words,d=a.words,b=this.sigBytes;a=a.sigBytes;this.clamp();if(b%4)for(var e=0;e<a;e++)c[b+e>>>2]|=(d[e>>>2]>>>24-8*(e%4)&255)<<24-8*((b+e)%4);else if(65535<d.length)for(e=0;e<a;e+=4)c[b+e>>>2]=d[e>>>2];else c.push.apply(c,d);this.sigBytes+=a;return this},clamp:function(){var a=this.words,c=this.sigBytes;a[c>>>2]&=4294967295<<
                32-8*(c%4);a.length=h.ceil(c/4)},clone:function(){var a=j.clone.call(this);a.words=this.words.slice(0);return a},random:function(a){for(var c=[],d=0;d<a;d+=4)c.push(4294967296*h.random()|0);return new q.init(c,a)}}),v=f.enc={},u=v.Hex={stringify:function(a){var c=a.words;a=a.sigBytes;for(var d=[],b=0;b<a;b++){var e=c[b>>>2]>>>24-8*(b%4)&255;d.push((e>>>4).toString(16));d.push((e&15).toString(16))}return d.join("")},parse:function(a){for(var c=a.length,d=[],b=0;b<c;b+=2)d[b>>>3]|=parseInt(a.substr(b,
        2),16)<<24-4*(b%8);return new q.init(d,c/2)}},k=v.Latin1={stringify:function(a){var c=a.words;a=a.sigBytes;for(var d=[],b=0;b<a;b++)d.push(String.fromCharCode(c[b>>>2]>>>24-8*(b%4)&255));return d.join("")},parse:function(a){for(var c=a.length,d=[],b=0;b<c;b++)d[b>>>2]|=(a.charCodeAt(b)&255)<<24-8*(b%4);return new q.init(d,c)}},l=v.Utf8={stringify:function(a){try{return decodeURIComponent(escape(k.stringify(a)))}catch(c){throw Error("Malformed UTF-8 data");}},parse:function(a){return k.parse(unescape(encodeURIComponent(a)))}},
            x=t.BufferedBlockAlgorithm=j.extend({reset:function(){this._data=new q.init;this._nDataBytes=0},_append:function(a){"string"==typeof a&&(a=l.parse(a));this._data.concat(a);this._nDataBytes+=a.sigBytes},_process:function(a){var c=this._data,d=c.words,b=c.sigBytes,e=this.blockSize,f=b/(4*e),f=a?h.ceil(f):h.max((f|0)-this._minBufferSize,0);a=f*e;b=h.min(4*a,b);if(a){for(var m=0;m<a;m+=e)this._doProcessBlock(d,m);m=d.splice(0,a);c.sigBytes-=b}return new q.init(m,b)},clone:function(){var a=j.clone.call(this);
        a._data=this._data.clone();return a},_minBufferSize:0});t.Hasher=x.extend({cfg:j.extend(),init:function(a){this.cfg=this.cfg.extend(a);this.reset()},reset:function(){x.reset.call(this);this._doReset()},update:function(a){this._append(a);this._process();return this},finalize:function(a){a&&this._append(a);return this._doFinalize()},blockSize:16,_createHelper:function(a){return function(c,d){return(new a.init(d)).finalize(c)}},_createHmacHelper:function(a){return function(c,d){return(new w.HMAC.init(a,
        d)).finalize(c)}}});var w=f.algo={};return f}(Math);
        (function(h){for(var s=CryptoJS,f=s.lib,t=f.WordArray,g=f.Hasher,f=s.algo,j=[],q=[],v=function(a){return 4294967296*(a-(a|0))|0},u=2,k=0;64>k;){var l;a:{l=u;for(var x=h.sqrt(l),w=2;w<=x;w++)if(!(l%w)){l=!1;break a}l=!0}l&&(8>k&&(j[k]=v(h.pow(u,0.5))),q[k]=v(h.pow(u,1/3)),k++);u++}var a=[],f=f.SHA256=g.extend({_doReset:function(){this._hash=new t.init(j.slice(0))},_doProcessBlock:function(c,d){for(var b=this._hash.words,e=b[0],f=b[1],m=b[2],h=b[3],p=b[4],j=b[5],k=b[6],l=b[7],n=0;64>n;n++){if(16>n)a[n]=
            c[d+n]|0;else{var r=a[n-15],g=a[n-2];a[n]=((r<<25|r>>>7)^(r<<14|r>>>18)^r>>>3)+a[n-7]+((g<<15|g>>>17)^(g<<13|g>>>19)^g>>>10)+a[n-16]}r=l+((p<<26|p>>>6)^(p<<21|p>>>11)^(p<<7|p>>>25))+(p&j^~p&k)+q[n]+a[n];g=((e<<30|e>>>2)^(e<<19|e>>>13)^(e<<10|e>>>22))+(e&f^e&m^f&m);l=k;k=j;j=p;p=h+r|0;h=m;m=f;f=e;e=r+g|0}b[0]=b[0]+e|0;b[1]=b[1]+f|0;b[2]=b[2]+m|0;b[3]=b[3]+h|0;b[4]=b[4]+p|0;b[5]=b[5]+j|0;b[6]=b[6]+k|0;b[7]=b[7]+l|0},_doFinalize:function(){var a=this._data,d=a.words,b=8*this._nDataBytes,e=8*a.sigBytes;
        d[e>>>5]|=128<<24-e%32;d[(e+64>>>9<<4)+14]=h.floor(b/4294967296);d[(e+64>>>9<<4)+15]=b;a.sigBytes=4*d.length;this._process();return this._hash},clone:function(){var a=g.clone.call(this);a._hash=this._hash.clone();return a}});s.SHA256=g._createHelper(f);s.HmacSHA256=g._createHmacHelper(f)})(Math);

        /*! @source http://purl.eligrey.com/github/FileSaver.js/blob/master/FileSaver.js */
        var saveAs=saveAs||"undefined"!==typeof navigator&&navigator.msSaveOrOpenBlob&&navigator.msSaveOrOpenBlob.bind(navigator)||function(a){"use strict";if("undefined"===typeof navigator||!/MSIE [1-9]\./.test(navigator.userAgent)){var k=a.document,n=k.createElementNS("http://www.w3.org/1999/xhtml","a"),w="download"in n,x=function(c){var e=k.createEvent("MouseEvents");e.initMouseEvent("click",!0,!1,a,0,0,0,0,0,!1,!1,!1,!1,0,null);c.dispatchEvent(e)},q=a.webkitRequestFileSystem,u=a.requestFileSystem||q||a.mozRequestFileSystem,
            y=function(c){(a.setImmediate||a.setTimeout)(function(){throw c;},0)},r=0,s=function(c){var e=function(){"string"===typeof c?(a.URL||a.webkitURL||a).revokeObjectURL(c):c.remove()};a.chrome?e():setTimeout(e,10)},t=function(c,a,d){a=[].concat(a);for(var b=a.length;b--;){var l=c["on"+a[b]];if("function"===typeof l)try{l.call(c,d||c)}catch(f){y(f)}}},m=function(c,e){var d=this,b=c.type,l=!1,f,p,k=function(){t(d,["writestart","progress","write","writeend"])},g=function(){if(l||!f)f=(a.URL||a.webkitURL||
        a).createObjectURL(c);p?p.location.href=f:void 0==a.open(f,"_blank")&&"undefined"!==typeof safari&&(a.location.href=f);d.readyState=d.DONE;k();s(f)},h=function(a){return function(){if(d.readyState!==d.DONE)return a.apply(this,arguments)}},m={create:!0,exclusive:!1},v;d.readyState=d.INIT;e||(e="download");if(w)f=(a.URL||a.webkitURL||a).createObjectURL(c),n.href=f,n.download=e,x(n),d.readyState=d.DONE,k(),s(f);else{a.chrome&&b&&"application/octet-stream"!==b&&(v=c.slice||c.webkitSlice,c=v.call(c,0,
        c.size,"application/octet-stream"),l=!0);q&&"download"!==e&&(e+=".download");if("application/octet-stream"===b||q)p=a;u?(r+=c.size,u(a.TEMPORARY,r,h(function(a){a.root.getDirectory("saved",m,h(function(a){var b=function(){a.getFile(e,m,h(function(a){a.createWriter(h(function(b){b.onwriteend=function(b){p.location.href=a.toURL();d.readyState=d.DONE;t(d,"writeend",b);s(a)};b.onerror=function(){var a=b.error;a.code!==a.ABORT_ERR&&g()};["writestart","progress","write","abort"].forEach(function(a){b["on"+
        a]=d["on"+a]});b.write(c);d.abort=function(){b.abort();d.readyState=d.DONE};d.readyState=d.WRITING}),g)}),g)};a.getFile(e,{create:!1},h(function(a){a.remove();b()}),h(function(a){a.code===a.NOT_FOUND_ERR?b():g()}))}),g)}),g)):g()}},b=m.prototype;b.abort=function(){this.readyState=this.DONE;t(this,"abort")};b.readyState=b.INIT=0;b.WRITING=1;b.DONE=2;b.error=b.onwritestart=b.onprogress=b.onwrite=b.onabort=b.onerror=b.onwriteend=null;return function(a,b){return new m(a,b)}}}("undefined"!==typeof self&&
        self||"undefined"!==typeof window&&window||this.content);"undefined"!==typeof module&&null!==module?module.exports=saveAs:"undefined"!==typeof define&&null!==define&&null!=define.amd&&define([],function(){return saveAs});
    </script>
    <script src="secureExam.js" type="text/javascript"></script>
    <script>
        function isOnline(e) {
            exam.stop();
            document.getElementById("questions").innerHTML = '<p class="questionText center">Pr&uuml;fungsabbruch, Internetzugriff festgestellt!</p>';
        }

        function timeWrong(e) {
            exam.stop();
            document.getElementById("questions").innerHTML = '<p class="questionText center">Pr&uuml;fungsabbruch, Zeitmanipulation entdeckt!</p>';
        }

        function tabChange(e) {
            document.getElementById("questions").innerHTML = '<p class="questionText center">Pr&uuml;fungsunterbruch, Tab gewechselt! Bitte loggen Sie sich neu ein!</p>';
            exam.stop();
        }
        
        function timeLeftChanged(newTime) {
            document.getElementById("timeLeft").innerHTML = "Verbliebene Zeit: " + newTime;
        }

        function autoSave(e) {
            var date = new Date(e);
            document.getElementById("autoSaveInfo").innerHTML = "AutoSave: " + date.toHHMMSSString();
        }

        function resetDB() {
            window.localStorage.removeItem("secureExam");
        }

        function resetAutoSave() {
            window.localStorage.removeItem("secureExamAutoSave");
        }

        function keyUpUserSecret(e) {
            if(e.keyCode == 13) {
                startExam();
            }
        }
        
        function confirmFinishExam() {
            if( confirm("Wollen Sie die Prüfung wirklich einreichen? Dies kann nicht rückgängig gemacht werden!") ) {
                exam.stop();
                document.getElementById("questions").innerHTML = '<p class="questionText center">Pr&uuml;fung beendet!</p>';
            }
        }
        
        function examexpired() {
            document.getElementById("questions").innerHTML = '<p class="questionText center">Pr&uuml;fung beendet!</p>';
            document.getElementById("finishButton").innerHTML = '';
        }
		
        function nextQuestion() {
            viewMode.next();
        }
        
        function prevQuestion() {
            viewMode.prev();
        }
		
		function continueAutoSaveRestore( doRestore ) {
			exam.continueAutoSaveRestore( doRestore );
			
			if( "page" === "$VIEWMODE$" ) {
				viewMode = SecureExam.UI.ViewMode.EBookReader();
			}
		}

        var exam;
        var viewMode;		
        function startExam() {
            SecureExam.Logger.addLogger(console, SecureExam.Logger.ErrorLevel.info);
            SecureExam.Const.Cryptography.SHA256ITERATIONS = $SHA256ITERATIONS$;

            var htmlInfo = new SecureExam.Lib.HTMLInfo("userDB", "data", "questions");
            exam = new SecureExam.Exam(htmlInfo);
            var vorname = document.getElementById("vorname").value;
            var nachname = document.getElementById("nachname").value;
            var immNummer = document.getElementById("immNummer").value;
            var passwort = document.getElementById("passwort").value;
            if( vorname !== "" && nachname !== "" && passwort !== "" ) {
                try {
                    document.getElementById("studentDetails").innerHTML = "Vorname: " + vorname + " Nachname: " + nachname + " Immatrikulationsnummer: " + immNummer;
                    
					
                    exam.setInternalTimeMaxVariance($INTERNALTIMEMAXVARIANCE$);
                    exam.setHistoryTimeMaxVariance($HISTORYTIMEMAXVARIANCE$);
                    exam.setConfirmAutoSaveRestore($CONFIRMAUTOSAVERESTORE$);
                    exam.setEBookReaderExport($EBOOKREADEREXPORT$);
					
                    $LISTENERS$
                    exam.addEventListener(SecureExam.Event.SecureTime.TIMEERROR, timeWrong);
                    exam.addEventListener(SecureExam.Event.TIMELEFT, timeLeftChanged);
                    exam.addEventListener(SecureExam.Event.AUTOSAVE, autoSave);
                    exam.addEventListener(SecureExam.Event.EXAMTIMEEXPIRED, examexpired);  

                    exam.start(vorname, nachname, immNummer, passwort);
                    
                    document.getElementById("finishButton").innerHTML = '<button onclick="confirmFinishExam()">Pr&uuml;fung einreichen</button>';
					
					
					if( "page" === "$VIEWMODE$" ) {
						viewMode = SecureExam.UI.ViewMode.EBookReader();
					}
                } catch (e) {
                    switch (e) {
                        case SecureExam.ErrorCode.ALREADYEXPORTED:
                            document.getElementById("questions").innerHTML = '<p class="questionText center">Pr&uuml;fung bereits abgeschlossen!</p>';
                            break;
                        case SecureExam.ErrorCode.INVALIDUSERSECRET:
                            document.getElementById("passwort").style.border = "1px solid red";
                            document.getElementById("vorname").style.border = "1px solid red";
                            document.getElementById("nachname").style.border = "1px solid red";
                            document.getElementById("immNummer").style.border = "1px solid red";
                            break;
                        case SecureExam.ErrorCode.TOOEARLY:
                            document.getElementById("questions").innerHTML = '<p class="questionText center">Pr&uuml;fung noch nicht freigegeben!</p>';
                            break;
                        case SecureExam.ErrorCode.TOOLATE:
                            document.getElementById("questions").innerHTML = '<p class="questionText center">Pr&uuml;fungszeitraum abeglaufen!</p>';
                            break;
                        case SecureExam.ErrorCode.CONFIRMAUTOSAVERESTORE:
                            document.getElementById("questions").innerHTML = '<p class="questionText center">Möchten Sie den letzten Sicherungspunkt wiederherstellen oder neu anfangen?</p>';
                            document.getElementById("questions").innerHTML += '<p class="center"><button onclick="continueAutoSaveRestore(true)">Sicherung wiederherstellen</button>   <button onclick="continueAutoSaveRestore(false)">Neue Pr&uuml;fung</button></p><br><br>';
                            document.getElementById("finishButton").innerHTML = '<button onclick="confirmFinishExam()">Pr&uuml;fung einreichen</button>';
                            break;
                        default:
                            throw e;
                    }
                }
            } else {
                alert("Bitte alle Felder richtig ausfüllen!");
            }
            return false;
        }
    </script>
</head>

<body>
    <div class="header paper" id="header">
        <div class="headerNotes">
            <span class="zhaw">ZHAW School of Engineering</span>
            <span id="timeLeftTitle" class="hidden">Verbleibende Zeit:</span>
            <span id="timeLeft"></span>
        </div>
        <div id="autoSaveInfo"></div>
        <div class="headerTitle">
            ADS: Algorithmen und Datenstrukturen
            <p id="studentDetails" class="headerStudentInfo"></p>
        </div>
        <div id="finishButton"></div>
    </div>
    <div class="examNotes paper" id="examNotes">
        <p class="notes">Prüfungshinweise:kein Rechner!ein A4 Blatt Handgeschrieben!</div>
    <div class="examContainer paper">
        <div id="questions">
            <p class="loginForms center">Bitte geben Sie die geforderten Informationen ein um die Prüfung starten zu können! Viel Glück!</p>
            <p class="loginForms center">Vorname:<br>
                <input type="text" id="vorname" size="35" onkeyup="return keyUpUserSecret(event)">
            </p>
            <p class="loginForms center">Nachname:<br>
                <input type="text" id="nachname" size="35" onkeyup="return keyUpUserSecret(event)">
            </p>
            <p class="loginForms center">Immatrikulationsnummer:<br>
                <input type="text" id="immNummer" size="35" onkeyup="return keyUpUserSecret(event)">
            </p>
            <p class="loginForms center">Passwort:<br>
                <input type="text" id="passwort" size="35" onkeyup="return keyUpUserSecret(event)">
            </p>
            <p class="loginForms center">
                <button onclick="startExam()">Prüfung starten!</button><br><br>
            </p>
        </div>
    </div>
    <div class="hidden">
        <div id="data">7A6E93334F711E541C0A49A0EF6047CD,CEE64FE136E23ED5194C2FA3292C74BFB04923F8541F1A70A19ECBB74A11E3D1CF4EED99DD310043CA9567EAA4EE4D6911BBA6BF8229AE14200B0528B55B4742C89694BBE51711C34CE26CADB0BE9EB15B0B81CB3FA853CDCCA93E058084F927E2DF1E51629BB56B19ED518C6B23AB392797B02DAFB92CF314878EB66ABC071EBD50D29673FA3EA0DF43D3505357BF045A7DF34A7843F59E9B17102B79DB111EB1B328253505FF6B0EDC9E11361526ACA5A07B0E9AB152683799097EB55150ED57F1E1DE5971F7377A69EE8C3C3D47A9928B24C1633D361A053F15B829B6E6C72AC1D5719C8E8A6013B9246A3FBF75691A744019AAB35345360118AF3224F698A921331CD4661C01D6C9BA229BBEA423D7BBB464B38FD248180AD17480CD5A3CCD3F14F272A0AD18A99B19AFA44DC53E438F2177D53D5B608137FDCDC568FD711A79EB66E14EA4FEFFCED90815572C9FC94C737BC52D4AF8A61AB9CD162AED38BE8670301BFCCC28FCECEC25E6D07E434C5857EEB22DA915D228BD783A0A68D83D4B26705122DE257590E8F124EC48534791264C1640029EE63402A87D9369EB4EA004BC813E92066A62D171A6CCC73F71180B69C5BAF2DDF9B2E966A430A9CE59E7B889E6C96E8DB0325544A4362C044988277FE1F45D86FA9A75A5B916D35BAC1534751FBF2D44D986A86E42CF1598A2FD1B07EA381AC52E88EFA41E85F2C5116CE6FF8EDD0296AE105DB2A68B6E117377D3C8DF43619EBCBA659D73EAAD1E7427F678CA4B818D43F7A16ED6F3FC555926ECCD93B2097AAC2726148F811DDF6273BC7B1BC9E2D937908E9FB6FD64EBD9E531D0DAFB70F27499D3A18DA5C7D78AE03A6C50BAAE17EFAFB9130D478E03E6EACDFE348133F4CF6AEF79DFB148C818AE8CE427A2FA16C928CA501DE2C6CE58791512EFF3FC355A009F5376803FEABF7C1908563326893D9D3C2D9F92F7F55FA3EF0D30BF95039BBBC49016140D69E0052E4022F555A46DBEEB748C2C5416810066B1EA1A1D27BABD3C2987D74599B5D83A700C7E6511697B324B6025217A9AFF5FD4428CE05D9E869A33229A7566BA5721F7454439274C835C9254EB14E6468E2143D1346133545961E0304ADA08952260FC83333C63CB713CD5333923A6D8D1D1ECC4C94F9A814277CB368C34948227EC1BC7BB4483E0D04511601D50C1C2001D8C02AE1A559C207F407FF367DEE497E122F9FC0DF732DBE924A4A618273CCDE823F0FA39750651334C84B8CFDE6650D992EA3F9A690F8DFCC4AA4712CE98749365396391E91BA02117C2AE4175DD75745C6F2A27ACDA49D6BB9FC20011FAF49B6EA8C29D6E9861CC400BFA9A5D44BE07D55E1278F2A9A66EDAA94B24F7A11B006FAD064BDA50944120E2D99321B8220698A1632C0FDC6C6C714A88C04ED3EFBBBD0470BF4FFC396548871396B93EFE1E7654555BD953A051E1A3D56AEEC724D61187D6FF90DD4D82F0862A448873AFE64DB5D550F83FB6D0FF6C0C5AC0B0FC0788CE68C7F16A7DFACA3409CE3BB5C3B26B7AF68DCCEC63F08A79339E6950C38A9253F9C48B8783FBDB19AAEEBD772B64F8014711EFB880F8FAD8ADB99DBA6E6294364B2CDD36F6309C26613B6BECA4151745A95FD81CBC2CB09B55E729AAF08073F7B9B41E93D94CEFE93733397F9CD80823BF0078E1B777052725D0716F8B681FE37CE55BAACC64C5D07D36A3FDD961A53FCEA0E1182A9E6B2C616F086BC0BA62454FF095E323A621B79E1C39C74A2DC035FF7DD03E853AFC2219D1796528B620178A655E51C5B4F8E1B7453B0CFB934C24269154077A75771A0A391825494B4F0602DACD76CB49702EF6C5B37EF2EE712A92CEE663CC1B6E3A6322B4B799DF1BBFFF76F76D95B3D038CC9101A5316E4AB741F6EA16A116C9B88C022DFE239119E0D039046D898166ECD1550F7122B27EF85297A33E44C346D66569C90990A9F7BC7F1F7827729308CB73464EBB0AA957FA8C13B9F831DA90425B490BE840B67B56F9F32C727B293725CD72B20414306AD63D99E2061D22C9FD78F4D8DEED4DAC038B061460EEB3B595D41ABCB8D9484FCBCAE0B32CB294D694AAC47E38772915068098FF7842821498DC5F8979F774C85D83A40FC368D6A50BFA30C3257C376AC3CA546F98EA65F2ACD6B875E6B842C6A4DA15680A6620C45B87AA4E9A73CD1B249CFBBD601279576686F093B5E4D5F0A8C152DEAAC15D9C1D119A7995B68D4A448B103AD746BC29CD73414E6D2DC26A41F4B72778DF9ED1A15CAE12F090D662871F78FECD47E03209B6E45FB8AABD7B121A3748778B4C7A53E07E9F166BD7F7C55D0E01ADB54A2578C00E4066AABCB7BE7E4484D95DD4606C53AD2BF8DB56347C9B9022104EE306BB9E60F03A47A1E3650892B6C90D4C7A9E9D9748C18832F17036CE3A21D1757D6064524B61AC916932FB9694B487830DC0863527ABB55D06943FB053F1601F399BBA5611365B771395382E068EDA6205849CAA602E1B60C4BB4371E6F5771229D9B1914183C31E1E32B2192A771EA88F75C2CB53B71B98EC5BB8B2EC7879FB90CCAF1742F84BDE783B7213C6DD24A5E1D1ED423D5AD17032354D61D75A450A35D66F0A7EC3AF893AE3C6C3394647867A0EE2FD8168021CAEB67E3C0E02E7B2DF797F577FFC5B929A4AC5161E3DA5C253DEA59F7371279B58A87905B28ADC592D3BE78ED639F381C006B84AE2401BCEBEECF2103CD7C12C2F1727B5B3777984F95E21FB092FB904D148F1DFDACA327A6CF528FED9271DC3D46450D5EF0ABE18C752B9AE29521136227D643EE34A8AE440D01370A086D1610586EA1D3F9AE6F8AD2ED408DBC1CC967E186C38E71AE2DC748052AB28DB1C55C7E0FFEFF92D7D753DC3C16E0568093C4626C320AF857CC39253FC019260175FD7EDD922C7AA57BD983FDB77594D5C2F382333FEFD259A19DA4FDCEB195D6A27B06C0240B9D80B5C3DAA2AE04210D71A2CD297A65F000B43E7801B7778F37F3D01CEF02E37ADFFAE960BE80D6192456BAFCD0954258B146ACF2D47496A7E56C4087BDE527923AD07CEB42A611666C8044788A55A581503F0F99C1DB974F5B5E4250FE983C25C9E198EA20E8AF00A32ED2B2E0A515E229C11145E43AF94828274280E5628B4F5BFD1FC8194F859325B19B6D4224EF41311DCED9593FFDD048DCF505BDA98B37C2AA42738EF393AA1D0FE4951C054D9A0346C9CBAF96E17F6A6691F8DA269477C10CE8458BA0F3BF09B0A57FF1DE2A49B9B713A1D97ACE26357F7D45B00EB57BA742C6485FD08FB22D2ABC2E6A65ED64DA453CE391109810ED0A9A0954C18381858470F1C7F85C80D66D4012DFD8DA4FA12E0C929FF911D249334A72B08ABB8758B4804EE53453A61F8C63E84A2A435A903EB4EC2FECEE6F10781827B02901039BAD0127A0791293BF3BFD1BB132BE0EDAEC9DCFD10A5E120496A50BF68007ECB4762AD77617AA6C92FCFD48406B4A78B2717289D10A2848D7A334AEAD12319C78F41241C4E71E359340A3BD02C7CEF6ACF80094AE386F8FE979714E91463E2A050A70068F3A21BF9DBDD3DB66348341506730002F396A20F5DB8D4D366F171AB74EB6ACFA4E7B5</div>
        <div id="userDB">DanielJampenS12198320,EE4B52DCF23E7A856A28CC2929B3138250164B8A98B5C628041F2A1861B173F93026C02AD914BCA4D404F6BD77DCE24EF41AB3F6235ABFB55E2ED7754BEF071AD98F1FDA37540EDE4FBB2C3082E3AEC3,FC20E86B7922955CC01FD4079162A65A,8byhY6q/1QpEu6JtSctOeFe4eLoPg0WgHN2cPh3Eups=;SimonLukesS12198347,3144627BF30556A1FEC09CE43A2989CD0DE0BEF23784C7B27AE111A2E06DB9E4D2679B91F18620F9DA22432187B79CD63D76BD4D7AB7F37EDA57CEA18AC37ACC576EA5F15AA46DD6CD11F4F12C4AE8DD,BF237CD1D653904BA2F69B08ACABD5A0,7s+E44F4QZGZAnRBNhs55MvfbhovqRpCH08GaR6aXGQ=;</div>
    </div>
</body>

</html>